package com.literaryfamily.literaryfamily.myUtil;

import com.literaryfamily.literaryfamily.enumPackage.OperatorType;

/**
 * 编号生成工具
 */
public class SerialUtil {
	/**
	 * 生成借阅单的标准序号
	 * 格式: bb_yyyy_MM_dd_HH_mm_ss_书籍ID_用户ID
     * 例如: bb_1919_08_10_11_45_14_123_456
     *
     * @param bookId 书籍ID
     * @param UserId 用户ID
     * @return 借阅单序号
     */
	public static String getBorrowSerial(Long bookId,Long UserId) {
		return OperatorType.BORROW.getPrefix()+TimeUtil.getNowTime()+"_"+bookId+"_"+UserId;
	}

	/**
     * 生成买卖单的标准序号
     * 格式: bs_yyyy_MM_dd_HH_mm_ss_书籍ID_用户ID
     * 例如: bs_1919_08_10_11_45_14_123_456
     *
     * @param bookId 书籍ID
     * @param UserId 用户ID
     * @return 买卖单序号
     */
	public static String getSaleSerial(Long bookId,Long UserId) {
		return OperatorType.SALE.getPrefix()+TimeUtil.getNowTime()+"_"+bookId+"_"+UserId;
	}

	/**
     * 生成退货单的标准序号
     * 格式: rb_yyyy_MM_dd_HH_mm_ss_书籍ID_用户ID
     * 例如: rb_1919_08_10_11_45_14_123_456
     *
     * @param bookId 书籍ID
     * @param UserId 用户ID
     * @return 退货单序号
     */
	public static String getReturnSerial(Long bookId,Long UserId) {
		return OperatorType.RETURN.getPrefix()+TimeUtil.getNowTime()+"_"+bookId+"_"+UserId;
	}

	/**
     * 生成支付单的标准序号
     * 格式: pa_yyyy_MM_dd_HH_mm_ss_用户ID
     * 例如: pa_1919_08_10_11_45_14_456
     *
     * @param UserId 用户ID
     * @return 支付单序号
     */
	public static String getPaymentSerial(Long UserId) {
		return OperatorType.PAYMENT.getPrefix()+TimeUtil.getNowTime()+"_"+UserId;
	}

	/**
     * 生成买卖上架单的标准序号
     * 格式: bo_yyyy_MM_dd_HH_mm_ss_书籍ID_用户ID
     * 例如: bo_1919_08_10_11_45_14_123_456
     *
     * @param bookId 书籍ID
     * @param UserId 用户ID
     * @return 买卖上架单序号
     */
	public static String getBorrowOnlineSerial(Long bookId,Long UserId) {
		return OperatorType.BORROW_ONLINE.getPrefix()+TimeUtil.getNowTime()+"_"+bookId+"_"+UserId;
	}

	/**
     * 生成借阅上架单的标准序号
     * 格式: so_yyyy_MM_dd_HHmmss_书籍ID_用户ID
     * 例如: so_1919_08_10_11_45_14_123_456
     *
     * @param bookId 书籍ID
     * @param UserId 用户ID
     * @return 借阅上架单序号
     */
	public static String getSaleOnlineSerial(Long bookId,Long UserId) {
		return OperatorType.SALE_ONLINE.getPrefix()+TimeUtil.getNowTime()+"_"+bookId+"_"+UserId;
	}

	/**
     * 生成书籍序号
     * 格式: book_yyyy_MM_dd_HH_mm_ss_书籍ID
     * 例如: book_1919_08_10_11_45_14_123
     *
     * @param bookId 书籍ID
     * @return 书籍序号
     */
	public static String getBookSerial(Long bookId) {
		return "book_"+TimeUtil.getNowTime()+"_"+bookId;
	}
}